<?php 
use com\soka as soka;
class trabajador_Ctl extends soka\SokaController
{
	private $_con, $_proy, $_tipcon, $_car,$_datostra,$_contra,$_Admi,$_traxadmi;	
	public function _init()
	{
		soka\View::setJs(array('form', 'plugin/jquery.form.wizard', 'plugin/bbq', 'jquery.validate', 'jquery.form'));
		$this->_con = $this->setModel('trabajador');
		$this->_proy = $this->setModel('proyecto');
		$this->_tipcon = $this->setModel('tipocontrato');
		$this->_car = $this->setModel('cargo');
		$this->_datostra = $this->setModel('datostrabajador');
		$this->_contra=$this->setModel('contrato');
		$this->_Admi=$this->setModel('administrativa');
		$this->_traxadmi=$this->setModel('Trabajador_administrativa');	
	}



	public function empleados()
 	{
 		$this->view(false);
 		$termino = isset($_GET['term']) ? $_GET['term'] : null;
		echo json_encode($this->_con->get($termino));
	}

	
	private function listsalud($id){
 		$this->_con->id($id)->getById();
 		return $this->_Admi->showlist_dos('1','salud','nombre', $this->_Admi->administrativa_id());
 	}
 	
 	private function listpension($id){
 		$this->_con->id($id)->getById();
 		return $this->_Admi->showlist_dos('2','pension','nombre', $this->_Admi->administrativa_id());
 	}
	
	private function listProyecto($id){
 		$this->_con->id($id)->getById();
 		return $this->_proy->showlist('nombre', $this->_proy->proyecto_id());
 	}

 	private function listTipocontrato($id){
 		$this->_con->id($id)->getById();
 		return $this->_tipcon->showlist('nombre', $this->_tipcon->tipocontrato_id());
 	}

 	private function listCargo($id){
 		$this->_con->id($id)->getById();
 		return $this->_car->showlist('nombre', $this->_car->cargo_id());
 	}

	public function index($id = null)
	{
		(isset($_POST['submit']) && ($_POST['id'] == 0)) ? self::_add() : false;
		$this->list_proyecto=self::listProyecto($id);
		$this->list_administrativa1=self::listsalud($id);
		$this->list_administrativa2=self::listpension($id);
		$this->list_tipocontrato=self::listTipocontrato($id);
		$this->list_cargo=self::listCargo($id);
		$this->con = $this->_con->id((int)$id)->getById();
		isset($_POST['id']) ? self::_update(): false;	
		$this->datos = isset($_POST['btn_buscar']) ? $this->_con->getAll(null, null, 
			array($_POST['cbo_busqueda']=> $_POST['txt_buscar'])) : $this->_con->getAll();
	}
	
	private function _add()
	{
		extract($_POST);
		// validas y asignas el mensaje este sera cargado en el div info ver index.soka!
		   if ($id == 0 && $this->_con->documento($documento)->numero_identidad($numero_identidad)
		   	->primer_nombre($primer_nombre)->segundo_nombre($segundo_nombre)->primer_apellido($primer_apellido)
		   	->segundo_apellido($segundo_apellido)->sexo($sexo)->numero_hijos($numero_hijos)
		   	->estado(1)->add());
		  
				$this->_contra->fecha_ingreso($fecha_ingreso)->fecha_fin($fecha_fin)
				->sueldo($sueldo)->tipocontrato_id($list_tipocontrato)
				->estado(1)->add();
				$ultima = $this->_con->ultimotrabajador();
				$ultimo_contrato=$this->_con->ultimocontrato();
				$this->_datostra->Insercion($ultima[0],$ultimo_contrato[0],$list_cargo);
				$this->_con->adminis($ultima[0],$list_administrativa1);
				$this->_con->adminis($ultima[0],$list_administrativa2);
				$this->_con->proyec($ultima[0],$list_proyecto);

				$msg['error'] = 'El registro fue guardado correctamente.';


				/*$empleados = $this->_con->getEmpleadoProyecto(1);
				foreach ($empleados as $empleado) 
				$this->_pago->nomina_id($ultima[0]['ultima_nomina'])*/
		   
		  
		
				
$this->messagge=$msg;
	}

	public function delete()
	{
		$this->view(false);
		if (isset($_POST['id_delete'])) {
			$this->_con->id((int) $_POST['id_delete']);
			if($this->_con->getById() && $this->_con->estado() == 1) {
				if($this->_con->del(false))
					$data['messagge'] = 'El registro fue desactivado correctamente.';
							$msg['causas'][]  = 'i';
			} else {
				if($this->_con->del(true))
					$data['messagge'] = 'El registro fue activado correctamente.';
							$msg['causas'][]  = 'i';
			}
		}
		echo json_encode($data);
	}

	private function _update()
	{
		//validas y asignas el mensaje
		extract($_POST);
		if( ($id > 0) && $this->_con->id($id)->documento($documento)
		   	->primer_nombre($primer_nombre)->segundo_nombre($segundo_nombre)->primer_apellido($primer_apellido)
		   	->segundo_apellido($segundo_apellido)->sexo($sexo)->numero_hijos($numero_hijos)
		   	->estado(1)->add())
			$ho['error'] = 'El registro fue actualizado correctamente.';
				$this->messagge2=$ho;
	}
}